//package com.ftg.learn.aop;
//
//import com.ftg.learn.comm.RMessCommEnum;
//import com.ftg.learn.util.JwtUtils;
//import com.ftg.learn.util.R;
//import jakarta.annotation.Resource;
//import jakarta.servlet.http.HttpServletRequest;
//import jakarta.servlet.http.HttpServletResponse;
//import org.aspectj.lang.ProceedingJoinPoint;
//import org.aspectj.lang.annotation.Around;
//import org.aspectj.lang.annotation.Aspect;
//import org.springframework.context.annotation.EnableAspectJAutoProxy;
//import org.springframework.stereotype.Component;
//
///**
// * 自我实现后台方法权限验证
// *  使用mvc拦截器去掉我们自己的
// * @author 布衣
// */
//@Aspect
//@Component
//@EnableAspectJAutoProxy
//public class ApiAop {
//
//    @Resource
//    HttpServletRequest request;
//
//    @Resource
//    HttpServletResponse response;
//
//    @Around("execution(public * com.ftg.learn.controller.*.*(..))")
//    public Object around(ProceedingJoinPoint joinPoint) throws Throwable {
//
//        String requestURI = request.getRequestURI();
//        if(requestURI.contains("login")||requestURI.contains("captcha")){
//            return joinPoint.proceed();
//        }else{
//            String token = request.getHeader("token");
//            if(token == null || token.isEmpty()){
//                return R.build(RMessCommEnum.NOT_FOUND_TOKEN);
//            }else{
//                if(JwtUtils.validateToken(token)){
//                    return joinPoint.proceed();
//                }else{
//                    return R.build(RMessCommEnum.TOKEN_NONE_VALID);
//                }
//            }
//        }
//    }
//
//}
